import pytest
import random


# 0代表女性，1代表男性
sex = random.randint(0,1)
print('\n')
print(sex)
@pytest.mark.skipif(condition= sex == 1,reason="穷")
def test_add_cart():
    print("添加购物车")
"""
skipif：根据条件判断是否需要执行本条用例
condition：跳过的条件
reason：跳过的原因输出

根据条件跳过测试用例
因为sex返回的是1，所以用例不执行
"""
@pytest.mark.skip(reason='无条件跳过')
def test_add():
    print("本条用例不会执行")
"""
skip：无条件跳过
"""

# 参数化
# 只有一个参数进行了参数化
@pytest.mark.parametrize('phone',['13547876654','15837662139','1566452412'])
def test_verify_code(phone):
    """
    :param phone: 要参数化的变量，接受上面的phone参数
    第一次运行：phone是13547876654
    第二次运行：phone是15837662139
    第三次运行：phone是1566452412
    :return:
    """
    print("测试验证码")
    print(f"获取{phone}的验证码")
    """
    第一次执行
    测试验证码
    获取13547876654的验证码
    
    第二次执行
    测试验证码
    获取15837662139的验证码
    
    第三次执行
    测试验证码
    获取1566452412的验证码
    """

# 有多个参数时参数化
test_data = [['1358762312',1234],['1584766256',2897],['1235234212',9097]]

@pytest.mark.parametrize('phone,code',test_data)
def test_register(phone,code):
    """
    :param phone: 接受参数化里的变量phone
    :param code: 接受参数化里的变量code
    :return:
    """
    """
    第一次运行：phone是1358762312，code是1234
    第二次运行：phone是1584766256，code是2897
    第三次运行：phone是1235234212，code是9097
    """
    print("测试会员注册")
    print(f"电话号码为：{phone},\n验证码为：{code}")
    """
    第一次运行：
    测试会员注册
    电话号码为：1358762312,
    验证码为：1234
    
    第二次运行：
    测试会员注册
    电话号码为：1584766256,
    验证码为：2897
    
    第三次运行：
    测试会员注册
    电话号码为：1235234212,
    验证码为：9097
    """











































